package com.liming.common.pojo.vo.dashboard;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.liming.common.pojo.vo.product.openfeign.FeignProductVO;
import com.liming.common.serializer.CentToYuanSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author liming
 * @date 2025/3/7
 */
@Data
@Schema(description = "顶部卡片数据")
public class TopCardVO {

    @Schema(description = "今日销售额")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer todaySales;

    @Schema(description = "月度销售额")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer monthlySales;

    @Schema(description = "年度销售额")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer annualSales;

    @Schema(description = "待处理订单数量")
    private Long undeliveredOrderCount;

    @Schema(description = "库存预警数量")
    private Long alertStockCount;

    @Schema(description = "滞销商品")
    private StagnantProductVO stagnantProductVO;

    @Schema(description = "热销商品")
    private HotSalesProductVO hotSalesProductCount;

    @Schema(description = "库存总值")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer stockTotal;
}
